package com.jiangyao.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jiangyao.common.ApiResult;
import com.jiangyao.model.dto.backend.CategoryDTO;
import com.jiangyao.model.dto.backend.CategoryListPageDTO;
import com.jiangyao.model.entity.Category;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jiangyao.model.vo.backend.CategoryCountVO;

import java.util.List;
/**
 * <p>
 * 分类信息 服务类
 * </p>
 *
 * @author zhoushuangxiang
 * @since 2020-08-12
 */
public interface CategoryService extends IService<Category> {

    List<Category> getJobCategory();

	/**
	 * 获取数据分类列表
	 *
	 * @param listPageDTO 列表DTO
	 * @return 结果
	 */
	Page<Category> getListPage(CategoryListPageDTO listPageDTO);

	/**
	 * 增加数据分类
	 *
	 * @param categoryDTO 增加DTO
	 */
	void add(CategoryDTO categoryDTO);

	/**
	 * 编辑数据分类
	 *
	 * @param categoryDTO 编辑DTO
	 */
	void edit(CategoryDTO categoryDTO);

	/**
	 * 删除数据分类
	 *
	 * @param categoryDTO 删除DTO
	 */
	void del(CategoryDTO categoryDTO);

	/**
	 * 根据类型获取数据分类
	 *
	 * @param categoryDTO DTO
	 * @return 结果
	 */
	List<Category> listForSelect(CategoryDTO categoryDTO);

	/**
	 * 根据类型获取数据分类统计
	 *
	 * @param categoryDTO DTO
	 * @return 结果
	 */
	List<CategoryCountVO> getCountList(CategoryDTO categoryDTO);
}
